--
-- Created by IntelliJ IDEA.
-- User: videojj_pls
-- Date: 2018/11/6
-- Time: 10:22 AM
-- To change this template use File | Settings | File Templates.
--
require "os_config"
require "os_string"
require "os_constant"
require "os_util"
require "os_track"
cardWindow = object:new()
local adTypeName = "cardWindow"
local scale = getScale()
local OS_ICON_WEDGE_CLOSE = "iVBORw0KGgoAAAANSUhEUgAAAC0AAAAtCAYAAAA6GuKaAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAhOAAAITgBRZYxYAAAABxpRE9UAAAAAgAAAAAAAAAXAAAAKAAAABcAAAAWAAABJuDZqwUAAADySURBVGgFxNYxDsIwDAXQDiwwcR1uwB1ghpUj5Oh8S3yE2rTYju1GsiIlqf3Swe009ccFyw/Esb+dsnpA1hvi6sku4PaJJ+YKOMGsa4L/gpkgGz4Hs64K3gMzQRZ8Dcy6m/AtMBNEw/+BWbcL14CZIAquBbPuAi5dgpuaeRQu4Lux5gvnT4jvkO4gkGYIL9z6hsUk4DNiMSrgoWDeIBOeAs6Ep4Iz4CXgSHgpOAK+C3gU7unD3bZGiHX2dJWGItpY7cNW6Px8FjwNzAtEw9PB0fAycBS8HDwK3w0scOnD1rbW8Iz37xCPjg3Ph6OhJGMY/gYAAP//68uhBAAAANxJREFU7dZNDoIwEAVgEl2gK4/lCdh4ALceoUf3DfEloIjTdt6sbDIpJHTeF34ahqFuHHH5DVU66471J5R8RIELpFZyeDRYDleBZfAW8OP16InyzGGvSiv4ArR9ZAbxgHlNN7wHDOs8UuER4FR4JDgFrgBL4UqwBJ4BDofX/kvYPmzbWuto3VXGZeAVJ8VZvWDm1sInLDxwMWcPPArMTC98E8wme/BoMDN/wXfBbLIFV4GZ+Q3uArPJEq4GM/MdXgVmE4NngZlJeBOYTc48SJxHZH3sEon5/6jVHXgCCd+jGkmWfYoAAAAASUVORK5CYII="
local OS_ICON_CARD_IMAGE_BG = "iVBORw0KGgoAAAANSUhEUgAAAJYAAADSCAYAAACoyDmYAAAAAXNSR0IArs4c6QAAABxpRE9UAAAAAgAAAAAAAABpAAAAKAAAAGkAAABpAAAEOXbVCwkAAAQFSURBVHgB7No9ctNgFIVhFVQMQ5FIrlLSsQBahi6FLZesgA1kASyAHbAB+iwA2qwgLVXoGCZIk4YCviuQgRNHfz6N5JcZJnOJuZYfvZEdJ1n258/X85On1SZ/W22L67osftTb1U/+YtDbQGolmol2oqG2p+ZjtT55Xperz71LiI0vtq4GUkPRUhNVVOaIqtrmb/6rlWFWAvU2v7BcWFJczZUrLmHNwoOe/vKLWSlysHsFXHFFU1nzmqrr8tbzuWbJ3sPkH+coUJf5u0OvXNFUdtAL9XQQc8TjmLsFqnL1/qC40rNfNnVB3Hn34fHZOQscGteksKqy+PDpZfZoznAce7dAnN84z1MvPOPDKotLouo+KUv5bJzn9FLpckpco8JKBX8kqqVkM+xxfFlnj+O8j41reFjl6iruZNjhcKslCcR5T+91Xo2Ja1BY8e3jvbfrlyTHY+kViPM/5q2p3rBiWXX+pOi9Z26weIHoYGhc3WH9fnv+bPFiPMDBAunKdTbkR4APh1UWN7eb4tnge+SGRyMQXaTvFm+6XnPtDSt9F/Bt91Pqo+HigY4RiD6ik4fiuhcWUY3hPe7bdsWlYd3dlqcvjpuLRz9GIHpJV607vXL9DSt+E3B9+mrMUm6LQAhENxrXLqzvm3wDEwJTBaKff39TZhfW1IX8PwRagfS7ea/bp0TCalX4aBEgLAsjS1SAsFSE2SJAWBZGlqgAYakIs0WAsCyMLFEBwlIRZosAYVkYWaIChKUizBYBwrIwskQFCEtFmC0ChGVhZIkKEJaKMFsECMvCyBIVICwVYbYIEJaFkSUqQFgqwmwRICwLI0tUgLBUhNkiQFgWRpaoAGGpCLNFgLAsjCxRAcJSEWaLAGFZGFmiAoSlIswWAcKyMLJEBQhLRZgtAoRlYWSJChCWijBbBAjLwsgSFSAsFWG2CBCWhZElKkBYKsJsESAsCyNLVICwVITZIkBYFkaWqABhqQizRYCwLIwsUQHCUhFmiwBhWRhZogKEpSLMFgHCsjCyRAUIS0WYLQKEZWFkiQoQloowWwQIy8LIEhUgLBVhtggQloWRJSpAWCrCbBEgLAsjS1SAsFSE2SJAWBZGlqgAYakIs0WAsCyMLFEBwlIRZosAYVkYWaIChKUizBYBwrIwskQFCEtFmC0ChGVhZIkKEJaKMFsECMvCyBIVICwVYbYIEJaFkSUqQFgqwmwRICwLI0tUgLBUhNkiQFgWRpaoAGGpCLNFgLAsjCxRAcJSEWaLAGFZGFmiAoSlIswWAcKyMLJEBQhLRZgtAoRlYWSJChCWijBbBAjLwsgSFSAsFWG2CBCWhZElKkBYKsJsESAsCyNLVICwVITZIkBYFkaWqEAb1i8AAAD//0WeDhwAAASiSURBVO2aMXLTUBRFVVAxDAWxU1HSsQBahi5FopSsgA2wABbADtgAPQuANiugpYKOYcCZNBSgZ48OtrEdK7kUyCczGV3L1pX/+Sc/GtnN5fnxr/pt/JFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVkgAnwgykUCAAD4RAqVWSACfCDKRQIAAPhECpVZIAJ8IMpFAgAA+EQKlVhw2gcvzyUt86sPsfPLisLE4+tsQKH96l2rb8KCd/pydTZ7fptxjD5NAeXPZ+YNLK2J1D+rJH2eTs8PE46hvQqB8WZdqdcUqsRa/V7PTo2c3OYnHHBaB8qRz5mp5perzn3+Ff8T6NWun3763R08OC5OjHUKg/ChPepHWtxvFqhfVQbPTB4+HnMzXHgaB8mKXVOXPVrHmBrbTz9/Ppo8OA5ej3IdA+XCdVNeLVf8e2+NPX08ePNznpL5m3ATKg+5C/fN80Vm6dNr0ePeK1R/cyTU7uTcdNzZHt4tAzX8tMpsk2rRvP7E6wWbn04+dsfd3ndznxkmg5r3mf5NA2/btLda8oD2++HLa3B0nPke1iUBJ1a1UF9sE2rZ/mFi1crXT9x+eNnc2vQn3jYtALSI139vk2bV/sFjzsnb6TrnGJdH6aGp+uwv1d7vk2fVcs+l2/K4D+uc6k9+uvxkfj4NASVXz28/14G330WAz9KJs+SSz9vjNOFA6imUCNa/L8zw0l1NN98n0q6EHrry+nbxeflPm/5vAZTefK/Pb33IasC2nmsVV/343vbafcPLy/8bpuy8Ct15kSr7FDfXFban67GffO6rb5eLbEf23JNwO+CsfA9fuuuzvz5fnN8G6JWx+zbX2pa0xDNox/KM//M6VcqZWu3KoX/t/A49EvpYRhCx5AAAAAElFTkSuQmCC"
local OS_ICON_CARD_NO_COLLECT = "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"

local OS_CARD_PORTRAIT_SHADOW = "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"
local OS_CARD_LANDSCAPE_SHADOW = "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"

local adTypeName = "CardWindow"
local blurUrl = nil
cardWindow.userCardInfo = {}
cardWindow.requestIds = {}
local alphaTime = 1.0

local function translationAnim(x, y)
    local anim = Animation():translation(x, y):duration(0.3)
    return anim
end

local function startViewTranslationAnim(view, x, y, table)
    if (view == nil) then
        return
    end
    if table ~= nil then
        translationAnim(x, y):with(view):callback(table):start()
    else
        translationAnim(x, y):with(view):start()
    end
end

local function startShowAnimation(view, duration)
    if (view == nil) then
        return
    end
    print("Luaview startShowAnimation")
    view:alpha(0)
    local anim = Animation():alpha(1.0):duration(duration):with(view):start()
    return anim
end

local function getHotspotExposureTrackLink(data, index)
    if (data == nil or index == nil) then
        return nil
    end
    local hotspotTrackLinkTable = data.infoTrackLink
    if (hotspotTrackLinkTable == nil) then
        return nil
    end
    local indexHotspotTrackLinkTable = hotspotTrackLinkTable[index]
    if (indexHotspotTrackLinkTable == nil) then
        return nil
    end
    return indexHotspotTrackLinkTable.exposureTrackLink
end

local function getHotspotClickTrackLink(data, index)
    if (data == nil or index == nil) then
        return nil
    end
    local hotspotTrackLinkTable = data.infoTrackLink
    if (hotspotTrackLinkTable == nil) then
        return nil
    end
    local indexHotspotTrackLinkTable = hotspotTrackLinkTable[index]
    if (indexHotspotTrackLinkTable == nil) then
        return nil
    end
    return indexHotspotTrackLinkTable.clickTrackLink
end

local function closeView()
    for key, value in pairs(cardWindow.requestIds) do
        if (value ~= nil) then
            Native:abort(value)
        end
    end
    Native:widgetEvent(eventTypeClose, cardWindow.id, adTypeName, actionTypeNone, "")
    Native:destroyView()
end

local function setBlurImage(blurView, imageUrl)
    if (blurView == nil or imageUrl == nil) then
        return
    end
    blurUrl = imageUrl
    blurView:imageBlur(imageUrl, 8)
end

local function checkCollectStatus()

    if cardWindow.collectStatus == 3 then
        return 3
    end

    local collectCount = 0
    if cardWindow.isHotOrder1 == true then
        collectCount = collectCount + 1;
    end
    if cardWindow.isHotOrder2 == true then
        collectCount = collectCount + 1;
    end
    if cardWindow.isHotOrder3 == true then
        collectCount = collectCount + 1;
    end
    cardWindow.collectCount = collectCount
    if collectCount == cardWindow.sumHotspot then
        return 2
    end
    return 1
end

local function postUserCardInfo()

    local businessInfoTable = {
        collectStatus = checkCollectStatus(),
        isHotOrder1 = cardWindow.isHotOrder1,
        isHotOrder2 = cardWindow.isHotOrder2,
        isHotOrder3 = cardWindow.isHotOrder3,
    }

    local businessParamTable = {
        userId = Native:getIdentity(),
        creativeId = cardWindow.data.creativeId,
        businessInfo = businessInfoTable
    }

    local paramData = {
        businessParam = businessParamTable,
        commonParam = Native:commonParam()
    }

    local paramDataString = Native:tableToJson(paramData)
    print("[LuaView] " .. paramDataString)
    -- print("[LuaView] " .. OS_HTTP_POST_MOBILE_QUERY)
    -- print("[LuaView] " .. Native:aesEncrypt(paramDataString, OS_HTTP_PUBLIC_KEY, OS_HTTP_PUBLIC_KEY))
    local requestId = cardWindow.request:post(OS_HTTP_POST_MOBILE_QUERY, {
        bu_id = buId,
        device_type = deviceType,
        data = Native:aesEncrypt(paramDataString, OS_HTTP_PUBLIC_KEY, OS_HTTP_PUBLIC_KEY)
    }, function(response, errorInfo)
        print("luaview postUserCardInfo")
        if (response == nil) then
            return
        end
        -- print("luaview postUserCardInfo 11" .. Native:tableToJson(response))
        responseData = Native:aesDecrypt(response.encryptData, OS_HTTP_PUBLIC_KEY, OS_HTTP_PUBLIC_KEY)
        print("luaview " .. responseData)
        response = toTable(responseData)
        if (response.resCode ~= "00") then
            return
        end
        local dataTable = response.launchInfoList
        if (dataTable == nil) then
            return
        end
    end, cardWindow.luaView)
    table.insert(cardWindow.requestIds, requestId)
end

local function getUserCardInfo()

    local businessInfo = {
        userId = Native:getIdentity(),
        creativeId = cardWindow.data.creativeId
    }

    local paramData = {
        businessParam = businessInfo,
        commonParam = Native:commonParam()
    }

    local paramDataString = Native:tableToJson(paramData)
    -- print("[LuaView] "..paramDataString)
    -- print("[LuaView] "..OS_HTTP_GET_MOBILE_QUERY)
    -- print("[LuaView] "..Native:aesEncrypt(paramDataString, OS_HTTP_PUBLIC_KEY, OS_HTTP_PUBLIC_KEY))
    local requestId = cardWindow.request:post(OS_HTTP_GET_MOBILE_QUERY, {
        bu_id = buId,
        device_type = deviceType,
        data = Native:aesEncrypt(paramDataString, OS_HTTP_PUBLIC_KEY, OS_HTTP_PUBLIC_KEY)
    }, function(response, errorInfo)
        -- print("luaview getUserVoteInfo")
        if (response == nil) then
            return
        end
        -- print("luaview getUserVoteInfo 11"..Native:tableToJson(response))
        responseData = Native:aesDecrypt(response.encryptData, OS_HTTP_PUBLIC_KEY, OS_HTTP_PUBLIC_KEY)
        print("luaview " .. responseData)
        response = toTable(responseData)
        if (response.resCode ~= "00") then
            return
        end
        local dataTable = response.businessInfo
        if (dataTable == nil) then
            postUserCardInfo()
            return
        end
        cardWindow.data.data.userCardInfo = dataTable
    end, cardWindow.luaView)
    table.insert(cardWindow.requestIds, requestId)
end

local function setLuaViewSize(luaview, isPortrait) --设置当前容器大小
    if (luaview == nil) then
        return
    end
    local screenWidth, screenHeight = Native:getVideoSize(2)
    if (isPortrait) then
        luaview:frame(0, 0, math.min(screenWidth, screenHeight), math.max(screenWidth, screenHeight))
    else
        luaview:frame(0, 0, math.max(screenWidth, screenHeight), math.min(screenWidth, screenHeight))
        if (System.android()) then
            luaview:align(Align.RIGHT)
        end
    end
end

local function setCardViewSize(data, cardWindowView, isPortrait) --设置当前容器大小
    if (data == nil or cardWindowView == nil) then
        return
    end
    local screenWidth, screenHeight = Native:getVideoSize(2)
    if (isPortrait) then
        if (System.android()) then
            cardWindowView:frame(0, 0, cardWindow.portraitWidth, cardWindow.portraitHeight)
            cardWindowView:align(Align.BOTTOM)
        else
            cardWindowView:frame(0, math.max(screenWidth, screenHeight) - cardWindow.portraitHeight, cardWindow.portraitWidth, cardWindow.portraitHeight)
        end
    else
        if (System.android()) then
            cardWindowView:frame(0, 0, 200 * scale, math.min(screenWidth, screenHeight))
            cardWindowView:align(Align.RIGHT)
        else
            cardWindowView:frame(math.max(screenWidth, screenHeight) - 200 * scale, 0, 200 * scale, math.min(screenWidth, screenHeight))
        end
    end
end

local function setCardTopContentViewSize(data, cardWindowTopContentView, isPortrait) --设置当前容器大小
    if (data == nil or cardWindowTopContentView == nil) then
        return
    end
    if (isPortrait) then
        cardWindowTopContentView:backgroundColor(0xEAEAEA, 1)
        cardWindowTopContentView:frame(0, 0, cardWindow.portraitWidth, cardWindow.portraitHeight * 0.877)
    else
        cardWindowTopContentView:backgroundColor(0x000000, 0)
        cardWindowTopContentView:frame(0, 0, 200 * scale, 336.8 * scale)
        cardWindowTopContentView:align(Align.RIGHT)
    end
end

local function setCardBlurViewViewSize(data, cardBlurView, isPortrait) --设置当前容器大小
    if (data == nil or cardBlurView == nil) then
        return
    end
    if (isPortrait) then
        if (cardBlurView:isShow()) then
            cardBlurView:hide()
        end
        cardBlurView:frame(0, 0, cardWindow.portraitWidth, cardWindow.portraitHeight * 0.877)
    else
        cardBlurView:frame(0, 0, 200 * scale, 336.8 * scale)
        if (cardBlurView:isHide()) then
            cardBlurView:show()
        end
    end
end

local function setCardImageLayoutSize(data, index, cardImageLayout, cardImage, cardBgView, isPortrait)
    if (data == nil or cardImageLayout == nil or cardImage == nil or cardBgView == nil) then
        return
    end
    local x, y, w, h = 0, 0, 0, 0
    if (isPortrait) then
        if (cardWindow.sumHotspot == 2) then
            w = cardWindow.portraitWidth * 0.276
            --            h = cardWindow.portraitHeight * 0.317
            h = w / 0.743
            y = cardWindow.portraitHeight * 0.086
            if (index == 1) then
                x = cardWindow.portraitWidth * 0.205
            else
                x = cardWindow.portraitWidth * 0.520
            end
        else
            w = cardWindow.portraitWidth * 0.276
            --            h = cardWindow.portraitHeight * 0.317
            h = w / 0.743
            y = cardWindow.portraitHeight * 0.086
            if (index == 1) then
                x = cardWindow.portraitWidth * 0.057
            elseif index == 2 then
                x = cardWindow.portraitWidth * 0.363
            else
                x = cardWindow.portraitWidth * 0.667
            end
        end
    else
        if (cardWindow.sumHotspot == 2) then
            w = 78.2 * scale
            h = 105.2 * scale
            y = 42 * scale
            if (index == 1) then
                x = 17.6 * scale
            elseif (index == 2) then
                x = 105.6 * scale
            end
        else
            w = 85.2 * scale
            h = 114.4 * scale
            y = 29 * scale
            if (index == 1) then
                x = 14.9 * scale
                y = 39 * scale
            elseif index == 2 then
                x = 57.5 * scale
                y = 29 * scale
            else
                x = 100.1 * scale
                y = 39 * scale
            end
        end
    end

    cardImageLayout:frame(x, y, w, h)
    cardImage:frame(scale, scale, w - 2 * scale, h - 2 * scale)
    cardBgView:frame(0, 0, w, h)
    --    cardImage:cornerRadius(5 * scale)
end

local function setCardBottomViewSize(data, cardBottomView, cardFlexView, cardFlexLabel, isPortrait) --设置当前容器大小
    if (data == nil or cardBottomView == nil or cardFlexView == nil or cardFlexLabel == nil) then
        return
    end
    local screenWidth, screenHeight = Native:getVideoSize(2)
    local corner = 0
    if (isPortrait) then
        cardBottomView:frame(0, 0, cardWindow.portraitWidth, cardWindow.portraitHeight * 0.123)
        cardBottomView:align(Align.BOTTOM)
        cardFlexView:frame(0, 0, cardWindow.hotspotRatio * cardWindow.portraitWidth, cardWindow.portraitHeight * 0.123)
        corner = cardWindow.portraitHeight * 0.123 / 2
        cardFlexLabel:frame(0, 0, cardWindow.portraitWidth, cardWindow.portraitHeight * 0.123)
    else
        cardBottomView:frame(0, 0, 200 * scale, 38.3 * scale)
        cardBottomView:align(Align.BOTTOM)
        cardFlexView:frame(0, 0, cardWindow.hotspotRatio * 200 * scale, 38.3 * scale)
        cardFlexLabel:frame(0, 0, 200 * scale, 38.3 * scale)
        corner = 19.15 * scale
    end

    cardFlexView:corner(0, 0, corner, corner, corner, corner, 0, 0)
end

local function setCardTitleViewSize(data, cardTitleView, isPortrait)
    if (data == nil or cardTitleView == nil) then
        return
    end
    local x, y, w, h = 0, 0, 0, 0
    if (isPortrait) then
        if (cardWindow.collectStatus == 3) then
            x = cardWindow.portraitWidth * 0.227
            y = cardWindow.portraitHeight * 0.643
            w = cardWindow.portraitWidth * 0.567
            h = cardWindow.portraitHeight * 0.082
            cardTitleView:textColor(0x4A4A4A)
            cardTitleView:textSize(14)
        else
            x = cardWindow.portraitWidth * 0.227
            y = cardWindow.portraitHeight * 0.448
            w = cardWindow.portraitWidth * 0.567
            h = cardWindow.portraitHeight * 0.090
            cardTitleView:textColor(0x4A4A4A)
            cardTitleView:textSize(14)
        end
    else
        if (cardWindow.collectStatus == 3) then
            x = 13.9 * scale
            y = 200.5 * scale
            w = 171 * scale
            h = 40 * scale
            cardTitleView:textColor(0xFFFFFF)
            cardTitleView:textSize(13)
        else
            x = 13.9 * scale
            y = 173.5 * scale
            w = 171 * scale
            h = 40 * scale
            cardTitleView:textColor(0xFFFFFF)
            cardTitleView:textSize(13)
        end
    end
    --    if (System.android()) then
    --        cardTitleView:margin(x, y, x, 0)
    --    else
    --        cardTitleView:frame(x, y, w, h)
    --    end
    cardTitleView:frame(x, y, w, h)
end

local function setCardContentImageView(data, cardContentImageView, cardContentImageShadowView, isPortrait)
    if (data == nil or cardContentImageView == nil) then
        return
    end
    local x, y, w, h = 0, 0, 0, 0
    if (isPortrait) then
        if (cardWindow.collectStatus == 3) then
            x = cardWindow.portraitWidth * 0.120
            y = cardWindow.portraitHeight * 0.207
            w = cardWindow.portraitWidth * 0.763
            h = w * 80.0 / 165.0 --cardWindow.portraitHeight * 0.316
        else
            x = cardWindow.portraitWidth * 0.187
            y = cardWindow.portraitHeight * 0.558
            w = cardWindow.portraitWidth * 0.628
            h = w * 80.0 / 165.0 --cardWindow.portraitHeight * 0.260
        end
        -- cardContentImageShadowView:backgroundColor(0xFF0000)
        cardContentImageShadowView:image(Data(OS_CARD_PORTRAIT_SHADOW))
        cardContentImageShadowView:frame((cardWindow.portraitWidth - 348 * scale) * 0.5, y + h - 8 * scale, 348 * scale, 16 * scale)
    else
        if (cardWindow.collectStatus == 3) then
            x = 17.7 * scale
            y = 96.5 * scale
            w = 165 * scale
            h = 80 * scale
        else
            x = 17.7 * scale
            y = 225.5 * scale
            w = 165 * scale
            h = 80 * scale
        end
        -- cardContentImageShadowView:backgroundColor(0xFF00FF)
        cardContentImageShadowView:image(Data(OS_CARD_LANDSCAPE_SHADOW))
        cardContentImageShadowView:frame(0 * scale, y + h - 6 * scale, 200 * scale, 12 * scale)
    end
    cardContentImageView:frame(x, y, w, h)
end

local function setCardCloseImageView(data, cardCloseLayout, cardCloseImageView, isPortrait)
    if (data == nil or cardCloseLayout == nil or cardCloseImageView == nil) then
        return
    end
    --    local x, y, w, h = 0, 0, 0, 0
    local size = cardWindow.portraitHeight * 0.083
    if (isPortrait) then
        --        x = 350 * scale
        --        y = 8 * scale
        --        w = 15 * scale
        --        h = 15 * scale
        cardCloseLayout:frame(0, 0, size, size)
        cardCloseImageView:frame(0, 0, 15 * scale, 15 * scale)
        cardCloseImageView:show()
        cardCloseLayout:align(Align.RIGHT)
        cardCloseImageView:align(Align.CENTER)
    else
        cardCloseImageView:hide()
    end
end

--屏幕旋转--
local function rotationScreen(isPortrait)
    setLuaViewSize(cardWindow.luaView, isPortrait)
    setCardViewSize(cardWindow.data, cardWindow.cardWindowView, isPortrait)
    setCardTopContentViewSize(cardWindow.data, cardWindow.cardWindowTopContentView, isPortrait)
    setCardBlurViewViewSize(cardWindow.data, cardWindow.cardBlurImageView, isPortrait)
    setCardBottomViewSize(cardWindow.data, cardWindow.cardBottomView, cardWindow.cardFlexView, cardWindow.cardFlexLabel, isPortrait)
    setCardCloseImageView(cardWindow.data, cardWindow.cardCloseLayout, cardWindow.cardCloseImageView, isPortrait)
    if (cardWindow.collectStatus ~= 3) then
        if (cardWindow.cardImageLayout3 ~= nil) then
            cardWindow.cardImageLayout1:rotation(0)
            cardWindow.cardImageLayout3:rotation(0)
        end
        setCardImageLayoutSize(cardWindow.data, 1, cardWindow.cardImageLayout1, cardWindow.cardImageView1, cardWindow.cardBgView1, isPortrait)
        setCardImageLayoutSize(cardWindow.data, 2, cardWindow.cardImageLayout2, cardWindow.cardImageView2, cardWindow.cardBgView2, isPortrait)
        setCardImageLayoutSize(cardWindow.data, 3, cardWindow.cardImageLayout3, cardWindow.cardImageView3, cardWindow.cardBgView3, isPortrait)
        if (isPortrait == false and cardWindow.cardImageLayout3 ~= nil and cardWindow.sumHotspot >= 3) then
            cardWindow.cardImageLayout1:rotation(-10)
            cardWindow.cardImageLayout3:rotation(10)
        end
    end
    setCardTitleViewSize(cardWindow.data, cardWindow.cardTitleLabel, isPortrait)
    setCardContentImageView(cardWindow.data, cardWindow.cardContentImageView, cardWindow.cardContentImageShadowView, isPortrait)
end

local function registerMedia()
    local media = Media()
    -- body
    -- 注册window callback通知
    local callbackTable = {
        --0: 竖屏小屏幕，1 竖屏全凭，2 横屏全屏
        onPlayerSize = function(type)
            if (type == 0) then
                rotationScreen(true)
            elseif (type == 1) then
                rotationScreen(true)
            elseif (type == 2) then
                rotationScreen(false)
            end
        end
    }
    media:mediaCallback(callbackTable)
    return media
end

local function registerWindow()
    local nativeWindow = nil
    if System.ios() then
        nativeWindow = NativeWindow()
    else
        nativeWindow = nativeWindow
    end
    local callbackTable = {
        onShow = function()
            if (System.android()) then
                setBlurImage(cardWindow.cardBlurImageView, blurUrl)
            end
        end
    }
    if (nativeWindow == nil and System.android()) then
        nativeWindow = window
    end
    if (nativeWindow == nil) then
        return
    end
    nativeWindow:callback(callbackTable)
    return nativeWindow
end

--全局父控件
local function createLuaView(isPortrait)
    local luaView
    -- if System.android() then
    --     luaView = View()
    -- else
    --     luaView = ThroughView()
    -- end
    luaView = View()
    setLuaViewSize(luaView, isPortrait)
    return luaView
end

local function createCardView(data, isPortrait)
    local cardWindowView = View()

    setCardViewSize(data, cardWindowView, isPortrait)

    return cardWindowView
end

local function createCardTopContentView(data, isPortrait)
    local cardWindowTopContentView = View()
    setCardTopContentViewSize(data, cardWindowTopContentView, isPortrait)
    return cardWindowTopContentView
end

local function createCardBlurView(data, isPortrait)
    local cardBlurImageView = Image(Native)
    cardBlurImageView:scaleType(ScaleType.FIT_XY)
    setCardBlurViewViewSize(data, cardBlurImageView, isPortrait)
    return cardBlurImageView
end

--创建单个--
local function createCardImageItem()
    local cardImageLayout = View()
    local cardImageView = Image(Native)
    cardImageView:scaleType(ScaleType.FIT_XY)
    local cardBgView = Image(Native)
    cardBgView:image(Data(OS_ICON_CARD_IMAGE_BG))
    cardBgView:scaleType(ScaleType.FIT_XY)
    cardImageLayout:addView(cardImageView)
    cardImageLayout:addView(cardBgView)
    return cardImageLayout, cardImageView, cardBgView
end

local function createCardGroupView(data, isPortrait)
    local cardImageLayout1, cardImageView1, cardBgView1 = createCardImageItem()
    local cardImageLayout2, cardImageView2, cardBgView2 = createCardImageItem()
    local cardImageLayout3, cardImageView3, cardBgView3
    if (cardWindow.sumHotspot == 3) then
        cardImageLayout3, cardImageView3, cardBgView3 = createCardImageItem()
    end
    setCardImageLayoutSize(data, 1, cardImageLayout1, cardImageView1, cardBgView1, isPortrait)
    setCardImageLayoutSize(data, 2, cardImageLayout2, cardImageView2, cardBgView2, isPortrait)
    setCardImageLayoutSize(data, 3, cardImageLayout3, cardImageView3, cardBgView3, isPortrait)
    return cardImageLayout1, cardImageView1, cardBgView1, cardImageLayout2, cardImageView2, cardBgView2, cardImageLayout3, cardImageView3, cardBgView3
end

local function createCardBottomView(data, isPortrait)
    local cardBottomView = GradientView()
    cardBottomView:gradient(0x5F5F5F, 0x5F5F5F)

    local cardFlexView = GradientView()
    cardFlexView:gradient(0xFA8831, 0xF45016)

    local text = "运气真好，还差" .. tostring(cardWindow.sumHotspot - cardWindow.collectCount) .. "张就成功啦"
    local cardFlexLabel = Label(Native)
    cardFlexLabel:text(text)
    cardFlexLabel:textColor(0xFFFFFF)
    cardFlexLabel:textAlign(TextAlign.CENTER)

    setCardBottomViewSize(data, cardBottomView, cardFlexView, cardFlexLabel, isPortrait)

    return cardBottomView, cardFlexView, cardFlexLabel
end

local function createCardCloseImageView(data, isPortrait)
    local cardCloseLayout = View()
    cardCloseLayout:align(Align.RIGHT)
    local cardCloseImageView = Image(Native)
    cardCloseImageView:align(Align.CENTER)
    cardCloseImageView:scaleType(ScaleType.FIT_XY)
    cardCloseImageView:image(Data(OS_ICON_WEDGE_CLOSE))
    cardCloseImageView:hide()
    setCardCloseImageView(data, cardCloseLayout, cardCloseImageView, isPortrait)
    cardCloseLayout:addView(cardCloseImageView)
    return cardCloseLayout, cardCloseImageView
end

local function createTitleView(data, isPortrait)
    local cardTitleLabel = Label(Native)
    cardTitleLabel:textAlign(TextAlign.CENTER)
    cardTitleLabel:lines(2)
    cardTitleLabel:text("")
    setCardTitleViewSize(data, cardTitleLabel, isPortrait)
    return cardTitleLabel
end

local function createCardContentImageView(data, isPortrait)
    local cardContentImageView = Image(Native)
    cardContentImageView:scaleType(ScaleType.CENTER_CROP)

    local cardContentImageShadowView = Image(Native)
    cardContentImageShadowView:scaleType(ScaleType.CENTER_CROP)
    setCardContentImageView(data, cardContentImageView, cardContentImageShadowView, isPortrait)
    return cardContentImageView, cardContentImageShadowView
end

--未收集成功 默认无需处理
local function notCollectState(data)
    local dataTable = data.data
    if (dataTable == nil) then
        return
    end
    local collectTable = dataTable.collect
    if (collectTable == nil) then
        return
    end
    -- print("LuaView notCollectState "..Native:tableToJson(dataTable))
    local contentImageUrl = collectTable.imageUrl
    if (contentImageUrl ~= nil) then
        cardWindow.cardContentImageView:image(contentImageUrl)
    end
    local content = collectTable.content
    if content ~= nil then
        cardWindow.cardTitleLabel:text(content)
    else
        cardWindow.cardTitleLabel:text("")
    end
    local hotspotArrayTable = dataTable.hotspotArray
    if (hotspotArrayTable == nil) then
        return
    end
    -- print("LuaView hotspotArrayTable "..Native:tableToJson(hotspotArrayTable))
    if (cardWindow.isHotOrder1) then
        local HotOrderTable = hotspotArrayTable[1]
        if (HotOrderTable == nil or cardWindow.cardImageView1 == nil) then
            return
        end
        local imageUrl = HotOrderTable.imageUrl
        if (imageUrl ~= nil) then
            if (cardWindow.hotspotOrder == 1) then
                setBlurImage(cardWindow.cardBlurImageView, imageUrl)
                startShowAnimation(cardWindow.cardImageView1, alphaTime)
            end
            cardWindow.cardImageView1:image(imageUrl)
        end
    else
        if (cardWindow.cardImageView1 ~= nil) then
            cardWindow.cardImageView1:image(Data(OS_ICON_CARD_NO_COLLECT))
            cardWindow.cardBgView1:hide()
        end
    end

    if (cardWindow.isHotOrder2) then
        local HotOrderTable = hotspotArrayTable[2]
        if (HotOrderTable == nil or cardWindow.cardImageView2 == nil) then
            return
        end
        local imageUrl = HotOrderTable.imageUrl
        if (imageUrl ~= nil) then
            if (cardWindow.hotspotOrder == 2) then
                setBlurImage(cardWindow.cardBlurImageView, imageUrl)
                startShowAnimation(cardWindow.cardImageView2, alphaTime)
            end
            cardWindow.cardImageView2:image(imageUrl)
        end
    else
        if (cardWindow.cardImageView2 ~= nil) then
            cardWindow.cardImageView2:image(Data(OS_ICON_CARD_NO_COLLECT))
            cardWindow.cardBgView2:hide()
        end
    end

    if (cardWindow.isHotOrder3) then
        local HotOrderTable = hotspotArrayTable[3]
        if (HotOrderTable == nil or cardWindow.cardImageView3 == nil) then
            return
        end
        local imageUrl = HotOrderTable.imageUrl
        if (imageUrl ~= nil) then
            if (cardWindow.hotspotOrder == 3) then
                setBlurImage(cardWindow.cardBlurImageView, imageUrl)
                startShowAnimation(cardWindow.cardImageView3, alphaTime)
            end
            cardWindow.cardImageView3:image(imageUrl)
        end
    else
        if (cardWindow.cardImageView3 ~= nil) then
            cardWindow.cardImageView3:image(Data(OS_ICON_CARD_NO_COLLECT))
            cardWindow.cardBgView3:hide()
        end
    end
end

--收集成功 未领取
local function collectState(data)
    cardWindow.cardBottomView:gradient(0xFA8831, 0xF45016)
    cardWindow.cardFlexView:hide()
    local dataTable = data.data
    if (dataTable == nil) then
        return
    end
    local collectTable = dataTable.collect
    if (collectTable == nil) then
        return
    end
    local btnTitle = collectTable.btnTitle
    if (btnTitle ~= nil) then
        cardWindow.cardFlexLabel:text(btnTitle)
    end
    local content = collectTable.content
    if content ~= nil then
        cardWindow.cardTitleLabel:text(content)
    else
        cardWindow.cardTitleLabel:text("")
    end

    local imageUrl = collectTable.imageUrl
    if (imageUrl ~= nil) then
        cardWindow.cardContentImageView:image(imageUrl)
    end
    local hotspotArrayTable = dataTable.hotspotArray
    if (hotspotArrayTable == nil) then
        return
    end
    if (cardWindow.isHotOrder1) then
        local HotOrderTable = hotspotArrayTable[1]
        if (HotOrderTable == nil or cardWindow.cardImageView1 == nil) then
            return
        end
        local imageUrl = HotOrderTable.imageUrl
        if (imageUrl ~= nil) then
            cardWindow.cardImageView1:image(imageUrl)
            if (cardWindow.hotspotOrder == 1) then
                setBlurImage(cardWindow.cardBlurImageView, imageUrl)
                startShowAnimation(cardWindow.cardImageView1, alphaTime)
            end
        end
    else
        if (cardWindow.cardImageView1 ~= nil) then
            cardWindow.cardImageView1:image(Data(OS_ICON_CARD_NO_COLLECT))
            cardWindow.cardBgView1:hide()
        end
    end

    if (cardWindow.isHotOrder2) then
        local HotOrderTable = hotspotArrayTable[2]
        if (HotOrderTable == nil or cardWindow.cardImageView2 == nil) then
            return
        end
        local imageUrl = HotOrderTable.imageUrl
        if (imageUrl ~= nil) then
            cardWindow.cardImageView2:image(imageUrl)
            if (cardWindow.hotspotOrder == 2) then
                setBlurImage(cardWindow.cardBlurImageView, imageUrl)
                startShowAnimation(cardWindow.cardImageView2, alphaTime)
            end
        end
    else
        if (cardWindow.cardImageView2 ~= nil) then
            cardWindow.cardImageView2:image(Data(OS_ICON_CARD_NO_COLLECT))
            cardWindow.cardBgView2:hide()
        end
    end

    if (cardWindow.isHotOrder3) then
        local HotOrderTable = hotspotArrayTable[3]
        if (HotOrderTable == nil or cardWindow.cardImageView3 == nil) then
            return
        end
        local imageUrl = HotOrderTable.imageUrl
        if (imageUrl ~= nil) then
            cardWindow.cardImageView3:image(imageUrl)
            if (cardWindow.hotspotOrder == 3) then
                setBlurImage(cardWindow.cardBlurImageView, imageUrl)
                startShowAnimation(cardWindow.cardImageView3, alphaTime)
            end
        end
    else
        if (cardWindow.cardImageView3 ~= nil) then
            cardWindow.cardImageView3:image(Data(OS_ICON_CARD_NO_COLLECT))
            cardWindow.cardBgView3:hide()
        end
    end

    --点击lua文件
    cardWindow.cardBottomView:onClick(function()
        --TODO领奖操作逻辑处理
        cardWindow.collectStatus = 3
        postUserCardInfo()
        local clickLinkUrl = getHotspotClickTrackLink(data, 1)
        if (clickLinkUrl ~= nil) then
            Native:get(clickLinkUrl)
        end
        if (cardWindow.launchPlanId ~= nil) then
            osTrack(cardWindow.launchPlanId, 3, 1)
        end
        if collectTable.linkType == 2 then
            Native:widgetEvent(eventTypeClick, cardWindow.id, adTypeName, actionTypeOpenUrl, collectTable.linkUrl)
            performWithDelay(function()
                closeView()
            end, 500)
            return
        end

        cardWindow.cardFlexLabel:text("确定")
        cardWindow.cardWindowTopContentView:removeAllViews()
        local isPortrait = Native:isPortraitScreen()
        setCardBlurViewViewSize(cardWindow.data, cardWindow.cardBlurImageView, isPortrait)
        setCardCloseImageView(cardWindow.data, cardWindow.cardCloseLayout, cardWindow.cardCloseImageView, isPortrait)
        setCardTitleViewSize(cardWindow.data, cardWindow.cardTitleLabel, isPortrait)
        setCardContentImageView(cardWindow.data, cardWindow.cardContentImageView, cardWindow.cardContentImageShadowView, isPortrait)
        cardWindow.cardWindowTopContentView:addView(cardWindow.cardBlurImageView)
        cardWindow.cardWindowTopContentView:addView(cardWindow.cardCloseImageView)
        cardWindow.cardWindowTopContentView:addView(cardWindow.cardTitleLabel)
        cardWindow.cardWindowTopContentView:addView(cardWindow.cardContentImageView)

        local successTable = dataTable.success
        if (successTable == nil) then
            return
        end

        cardWindow.cardBottomView:onClick(function()
            Native:widgetEvent(eventTypeClick, cardWindow.id, adTypeName, actionTypeGetItem, successTable.itemId)
            closeView()
        end)

        local title = successTable.title
        if (title ~= nil) then
            cardWindow.cardTitleLabel:text(title)
        end

        local imageUrl = successTable.imageUrl
        if (imageUrl ~= nil) then
            cardWindow.cardContentImageView:image(imageUrl)
        end
    end)
end

local function successState(data)
    cardWindow.cardBottomView:gradient(0xFA8831, 0xF45016)
    cardWindow.cardFlexView:hide()
    cardWindow.cardFlexLabel:text("确定") --写死？？？

    cardWindow.cardWindowTopContentView:removeAllViews()
    local isPortrait = Native:isPortraitScreen()
    setCardBlurViewViewSize(cardWindow.data, cardWindow.cardBlurImageView, isPortrait)
    setCardCloseImageView(cardWindow.data, cardWindow.cardCloseLayout, cardWindow.cardCloseImageView, isPortrait)
    setCardTitleViewSize(cardWindow.data, cardWindow.cardTitleLabel, isPortrait)
    setCardContentImageView(cardWindow.data, cardWindow.cardContentImageView, cardWindow.cardContentImageShadowView, isPortrait)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardBlurImageView)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardCloseImageView)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardTitleLabel)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardContentImageView)
    cardWindow.cardTitleLabel:text("您已经领取过这套卡牌奖励哦") --写死？？？
    cardWindow.cardBottomView:onClick(function()
        closeView()
    end)
    local dataTable = data.data
    if (dataTable == nil) then
        return
    end
    local successTable = dataTable.success
    if (successTable == nil) then
        return
    end

    local successImageUrl = successTable.imageUrl
    if (successImageUrl ~= nil) then
        cardWindow.cardContentImageView:image(successImageUrl)
    end
    local hotspotArrayTable = dataTable.hotspotArray
    if (hotspotArrayTable == nil or cardWindow.hotspotOrder == nil) then
        return
    end
    local hotspotItemTable = hotspotArrayTable[cardWindow.hotspotOrder]
    if (hotspotItemTable == nil) then
        return
    end
    local imageUrl = hotspotItemTable.imageUrl
    if (imageUrl ~= nil) then
        setBlurImage(cardWindow.cardBlurImageView, imageUrl)
    end
end

local function onCreate(data)
    if (cardWindow.launchPlanId ~= nil) then
        osTrack(cardWindow.launchPlanId, 1, 1)
    end

    local isPortrait = Native:isPortraitScreen()
    cardWindow.media = registerMedia()
    cardWindow.window = registerWindow()
    cardWindow.luaView = createLuaView(isPortrait)

    cardWindow.cardWindowView = createCardView(data, isPortrait)
    cardWindow.cardWindowTopContentView = createCardTopContentView(data, isPortrait)
    cardWindow.cardBlurImageView = createCardBlurView(data, isPortrait)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardBlurImageView)

    cardWindow.cardCloseLayout, cardWindow.cardCloseImageView = createCardCloseImageView(data, isPortrait)
    cardWindow.cardBottomView, cardWindow.cardFlexView, cardWindow.cardFlexLabel = createCardBottomView(data, isPortrait)

    -- 首先判断状态
    if (cardWindow.collectStatus ~= 3) then
        cardWindow.cardImageLayout1, cardWindow.cardImageView1, cardWindow.cardBgView1, cardWindow.cardImageLayout2, cardWindow.cardImageView2, cardWindow.cardBgView2, cardWindow.cardImageLayout3, cardWindow.cardImageView3, cardWindow.cardBgView3 = createCardGroupView(data, isPortrait)
        cardWindow.cardWindowTopContentView:addView(cardWindow.cardImageLayout1)
        if (cardWindow.sumHotspot == 3) then
            cardWindow.cardWindowTopContentView:addView(cardWindow.cardImageLayout3)
        end
        cardWindow.cardWindowTopContentView:addView(cardWindow.cardImageLayout2)
        if (isPortrait == false and cardWindow.sumHotspot >= 3) then
            cardWindow.cardImageLayout1:rotation(-10)
            cardWindow.cardImageLayout3:rotation(10)
        end
    end


    cardWindow.cardTitleLabel = createTitleView(data, isPortrait)
    cardWindow.cardContentImageView, cardWindow.cardContentImageShadowView = createCardContentImageView(data, isPortrait)

    cardWindow.cardBottomView:addView(cardWindow.cardFlexView)
    cardWindow.cardBottomView:addView(cardWindow.cardFlexLabel)

    cardWindow.cardWindowTopContentView:addView(cardWindow.cardCloseLayout)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardTitleLabel)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardContentImageShadowView)
    cardWindow.cardWindowTopContentView:addView(cardWindow.cardContentImageView)

    cardWindow.cardWindowView:addView(cardWindow.cardWindowTopContentView)

    cardWindow.cardWindowView:addView(cardWindow.cardBottomView)

    cardWindow.luaView:addView(cardWindow.cardWindowView)

    local screenWidth, screenHeight = Native:getVideoSize(2)
    if (isPortrait) then
        if System.ios() then
            cardWindow.cardWindowView:y(math.max(screenWidth, screenHeight))
            startViewTranslationAnim(cardWindow.cardWindowView, 0, -cardWindow.portraitHeight)
        else
            cardWindow.cardWindowView:translation(0, 438 * scale)
            startViewTranslationAnim(cardWindow.cardWindowView, 0, 0)
        end

    else
        if System.ios() then
            cardWindow.cardWindowView:x(math.max(screenWidth, screenHeight))
            startViewTranslationAnim(cardWindow.cardWindowView, -200 * scale, 0)
        else
            cardWindow.cardWindowView:translation(200 * scale, 0)
            startViewTranslationAnim(cardWindow.cardWindowView, 0, 0)
        end
    end

    cardWindow.cardWindowView:onClick(function()
    end)

    cardWindow.cardCloseLayout:onClick(function()
        local isPortrait = Native:isPortraitScreen()
        if (isPortrait) then
            startViewTranslationAnim(cardWindow.cardWindowView, 0, 438 * scale, {
                onCancel = function()
                    closeView()
                end,
                onEnd = function()
                    closeView()
                end,
                onPause = function()
                    closeView()
                end
            })
        end
    end)

    cardWindow.luaView:onClick(function()
        local isPortrait = Native:isPortraitScreen()
        if (isPortrait) then
            startViewTranslationAnim(cardWindow.cardWindowView, 0, 438 * scale, {
                onCancel = function()
                    closeView()
                end,
                onEnd = function()
                    closeView()
                end,
                onPause = function()
                    closeView()
                end
            })
        else
            startViewTranslationAnim(cardWindow.cardWindowView, 200 * scale, 0, {
                onCancel = function()
                    closeView()
                end,
                onEnd = function()
                    closeView()
                end,
                onPause = function()
                    closeView()
                end
            })
        end
    end)
    --- -逻辑处理----
    ------ 状态判断--------
    if (cardWindow.collectStatus == 1) then
        notCollectState(data)
    elseif (cardWindow.collectStatus == 2) then
        collectState(data)
    else
        successState(data)
    end
    Native:widgetEvent(eventTypeShow, cardWindow.id, adTypeName, actionTypeNone, "")
end

local function setConfig(data)
    if (data == nil) then
        return
    end
    cardWindow.data = data
    local sumHotspot = data.sumHotspot
    if (sumHotspot == nil) then
        sumHotspot = 2
    end
    local hotspotOrder = data.hotspotOrder
    if (hotspotOrder == nil) then
        hotspotOrder = 0
    end
    local screenWidth, screenHeight = Native:getVideoSize(2)
    local videoWidth, videoHight, marginTop = Native:getVideoSize(0)
    cardWindow.portraitWidth = math.min(screenWidth, screenHeight) --宽
    cardWindow.portraitHeight = math.max(screenWidth, screenHeight) - videoHight - marginTop --高
    cardWindow.sumHotspot = sumHotspot
    cardWindow.hotspotOrder = hotspotOrder + 1 --当前热点序号
    cardWindow.hotspotRatio = 0.333 --收集占半分比
    cardWindow.collectStatus = 1
    cardWindow.collectCount = 1
    cardWindow.id = "os_card_window" .. tostring(data.id) .. tostring(data.hotspotOrder)
    cardWindow.launchPlanId = data.launchPlanId
    cardWindow.isHotOrder1 = false
    cardWindow.isHotOrder2 = false
    cardWindow.isHotOrder3 = false
    if data.data.userCardInfo ~= nil then
        -- print("LuaView os card window userCardInfo "..Native:tableToJson(data.data.userCardInfo))
        cardWindow.userCardInfo = data.data.userCardInfo
        if cardWindow.hotspotOrder == 1 then
            cardWindow.userCardInfo.isHotOrder1 = true
        elseif cardWindow.hotspotOrder == 2 then
            cardWindow.userCardInfo.isHotOrder2 = true
        elseif cardWindow.hotspotOrder == 3 then
            cardWindow.userCardInfo.isHotOrder3 = true
        end

        cardWindow.collectStatus = cardWindow.userCardInfo.collectStatus
        cardWindow.isHotOrder1 = cardWindow.userCardInfo.isHotOrder1
        cardWindow.isHotOrder2 = cardWindow.userCardInfo.isHotOrder2 --是否收集状态
        cardWindow.isHotOrder3 = cardWindow.userCardInfo.isHotOrder3
        cardWindow.collectStatus = checkCollectStatus()
        if cardWindow.userCardInfo.collectStatus == 1 then
            postUserCardInfo()
        end
        if (cardWindow.collectStatus == 2) then
            local showLinkUrl = getHotspotExposureTrackLink(data, 1)
            if (showLinkUrl ~= nil) then
                Native:get(showLinkUrl)
            end
            if (cardWindow.launchPlanId ~= nil) then
                osTrack(cardWindow.launchPlanId, 2, 1)
            end
        end
    else
        if cardWindow.hotspotOrder == 1 then
            cardWindow.isHotOrder1 = true
        elseif cardWindow.hotspotOrder == 2 then
            cardWindow.isHotOrder2 = true
        elseif cardWindow.hotspotOrder == 3 then
            cardWindow.isHotOrder3 = true
        end
        postUserCardInfo()
    end
    if (cardWindow.sumHotspot == 2) then
        if cardWindow.collectCount < 2 then
            cardWindow.hotspotRatio = cardWindow.collectCount / 2.0
        end
    elseif (cardWindow.sumHotspot == 3) then
        if cardWindow.collectCount < 3 then
            cardWindow.hotspotRatio = cardWindow.collectCount / 3.0
        end
    end
    -- cardWindow.collectStatus = 3 --1.收集未成功 2.收集成功 3.领取成功
    -- if (cardWindow.collectStatus == 1) then
    -- cardWindow.isHotOrder1 = false
    -- cardWindow.isHotOrder2 = true --是否收集状态
    -- cardWindow.isHotOrder3 = false
    -- else
    --     cardWindow.isHotOrder1 = true
    --     cardWindow.isHotOrder2 = true --是否收集状态
    --     cardWindow.isHotOrder3 = true
    -- end
end

function show(args)
    if (args == nil or args.data == nil or cardWindow.luaView ~= nil) then
        return
    end
    cardWindow.request = HttpRequest()
    setConfig(args.data)

    onCreate(args.data)
    -- postUserCardInfo()
end

